|
|
 |
|
|
|
|
2. What is at least one benefit of having clearly defined roles for project team members? |
|
|
|
 |
|
|
|
|
Team members are able to focus on a smaller set of deliverables, thus optimizing their productivity. |
|
|
|
 |
|
|
|
|
3. What are some advantages and disadvantages of creating and viewing design artifacts? |
|
|
|
 |
|
|
|
|
Some advantages include the following: When you're finished with the last design iteration (there can be many iterations through the design phase, depending on the complexity of your proposed system), you will have enough of a detailed system specification to develop the system without having to make assumptions about the system architecture or user motivations. The problems discovered during the actual development phase should be minor and should require minor iterations through the design phase to update the corresponding models. At the same time, minor updates in design models should lead to very minor updates in the analysis modelssuch as changes in the name of a class or class member or the addition of an argument to a private method. Major changessuch as drastic changes in the way objects communicate, the addition of a new subsystem or package, and changes to the graphical user interface or interfaces between systemsshould not occur during the development phase. If such changes weren't addressed during design before development, this might suggest inadequate skill sets among domain experts, analysts, architects, or designers. In any event, such modifications should be deferred to a future release of the system, if possible. If it's not possible, the development phase must be postponed while the design flaws are revisited in the design phase. |
|
|
|
 |
|
|
|
|
Some disadvantages include the following: Maintaining design artifacts can be tedious, particularly when you're checking for traceability between user requirements and design classes. |
|
|
|
 |
|
|
|
|
4. Who are the Three Amigos? Briefly explain their respective methodologies. |
|
|
|
 |
|
|
|
|
Grady Booch, Ivar Jacobson, and Jim Rumbaugh. The Booch method poses questions for designers to use in the elaboration of class structures and relationships. The questions follow the following format: (a) Candidate Class A is a type of Class B; (b) Candidate Class A has a Class B type of object; and (c) Candidate Class A uses Class B. |
|
|
|
 |
|
|
|
|
Jacobson came up with the Objectory method, which is based on the object-oriented software engineering methodology he created. The OOSE design approach models the behavior of the system as documented by the use cases into logical parts, also known as classes. At the core of the design model in OOSE are three types of classes (whose instances are objects): entity, interface, and control. |
|
|
|
|
|